home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / openoffice / program / soffice < prev    next >
Text File  |  2009-10-22  |  6KB  |  245 lines

  1. #!/bin/sh
  2. #*************************************************************************
  3. #
  4. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  5. # Copyright 2008 by Sun Microsystems, Inc.
  6. #
  7. # OpenOffice.org - a multi-platform office productivity suite
  8. #
  9. # $RCSfile: soffice.sh,v $
  10. #
  11. # $Revision: 1.34 $
  12. #
  13. # This file is part of OpenOffice.org.
  14. #
  15. # OpenOffice.org is free software: you can redistribute it and/or modify
  16. # it under the terms of the GNU Lesser General Public License version 3
  17. # only, as published by the Free Software Foundation.
  18. #
  19. # OpenOffice.org is distributed in the hope that it will be useful,
  20. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  22. # GNU Lesser General Public License version 3 for more details
  23. # (a copy is included in the LICENSE file that accompanied this code).
  24. #
  25. # You should have received a copy of the GNU Lesser General Public License
  26. # version 3 along with OpenOffice.org.  If not, see
  27. # <http://www.openoffice.org/license.html>
  28. # for a copy of the LGPLv3 License.
  29. #
  30. #*************************************************************************
  31.  
  32. #
  33. # STAR_PROFILE_LOCKING_DISABLED=1
  34. # export STAR_PROFILE_LOCKING_DISABLED
  35. #
  36.  
  37. if test -z "$HOME"; then
  38.     HOME=$(getent passwd $(whoami) | cut -d":" -f6)
  39. fi
  40.  
  41. # Ubuntu helper functions
  42. file_or_home_on_nfs()
  43. {
  44.     case $(stat -f -c %T $HOME) in nfs*|smb)
  45.         return 0
  46.     esac
  47.     for i; do
  48.        case "$i" in -*) continue; esac
  49.        [ -f "$i" ] || continue
  50.        case $(stat -f -c %T "$i") in nfs*|smb)
  51.             return 0
  52.        esac
  53.     done
  54.     return 1
  55. }
  56.  
  57. # FIXME: this is conservative; allow more known working configurations
  58. working_opengl_support()
  59. {
  60.     if [ -n "$(lsmod | awk '/^(fglrx|nvidia)/ {print $1}')" ]; then
  61.     return 1
  62.     fi
  63.     return 0
  64. }
  65.  
  66. # read Ubuntu config file
  67.  
  68. FILE_LOCKING=auto
  69. OPENGL_SUPPORT=no
  70. if [ -f /etc/openoffice/soffice.sh ]; then
  71.     . /etc/openoffice/soffice.sh
  72. fi
  73.  
  74. # sanity checks
  75.  
  76. case "$FILE_LOCKING" in
  77.     auto|yes|no) ;;
  78.     *)
  79.         echo >&2 "unknown value '$FILE_LOCKING' for FILE_LOCKING parameter."
  80.     FILE_LOCKING=auto
  81.     echo >&2 "FILE_LOCKING reset to '$FILE_LOCKING'"
  82. esac
  83.     
  84. case "$OPENGL_SUPPORT" in
  85.     auto|yes|no) ;;
  86.     *)
  87.         echo >&2 "unknown value '$OPENGL_SUPPORT' for OPENGL_SUPPORT parameter."
  88.     OPENGL_SUPPORT=auto
  89.     echo >&2 "OPENGL_SUPPORT reset to '$OPENGL_SUPPORT'"
  90. esac
  91.  
  92. # adjust environment
  93.  
  94. if [ -z "$SAL_ENABLE_FILE_LOCKING" ]; then
  95.     case "$FILE_LOCKING" in
  96.     auto)
  97.         file_or_home_on_nfs "$@"
  98.         if [ $? -eq 0 ]; then
  99.             # file locking now enabled by default
  100.         SAL_ENABLE_FILE_LOCKING=1
  101.         export SAL_ENABLE_FILE_LOCKING
  102.     fi
  103.         ;;
  104.     yes)
  105.     SAL_ENABLE_FILE_LOCKING=1
  106.     export SAL_ENABLE_FILE_LOCKING
  107.         ;;
  108.     no)
  109.     SAL_ENABLE_FILE_LOCKING=0
  110.     export SAL_ENABLE_FILE_LOCKING
  111.     esac
  112. fi
  113.  
  114. if [ -z "$SAL_NOOPENGL" ]; then
  115.     case "$OPENGL_SUPPORT" in
  116.     auto)
  117.         working_opengl_support
  118.         if [ $? -eq 0 ]; then
  119.         SAL_NOOPENGL=true
  120.         export SAL_NOOPENGL
  121.     fi
  122.         ;;
  123.     yes)
  124.     :
  125.     unset SAL_NOOPENGL
  126.     #export SAL_NOOPENGL
  127.         ;;
  128.     no)
  129.     SAL_NOOPENGL=true
  130.     export SAL_NOOPENGL
  131.     esac
  132. fi
  133.  
  134. # the following test is needed on Linux PPC with IBM j2sdk142
  135. if [ "`uname -s`" = "Linux" -a "`uname -m`" = "ppc" ] ; then
  136.     JITC_PROCESSOR_TYPE=6
  137.     export JITC_PROCESSOR_TYPE
  138. fi
  139.  
  140. # resolve installation directory
  141. sd_cwd="`pwd`"
  142. if [ -h "$0" ] ; then
  143.     sd_basename=`basename "$0"`
  144.      sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"`
  145.     cd "`dirname "$0"`"
  146.     cd "`dirname "$sd_script"`"
  147. else
  148.     cd "`dirname "$0"`"
  149. fi
  150. sd_prog=`pwd`
  151. cd "$sd_cwd"
  152.  
  153. sd_binary=`basename "$0"`.bin
  154.  
  155. #collect all bootstrap variables specified on the command line
  156. #so that they can be passed as arguments to javaldx later on
  157. for arg in $@
  158. do
  159.   case "$arg" in
  160.        -env:*) BOOTSTRAPVARS=$BOOTSTRAPVARS" ""$arg";;
  161.   esac
  162. done
  163.  
  164. # extend the ld_library_path for java: javaldx checks the sofficerc for us
  165. if [ -x "$sd_prog/../basis-link/ure-link/bin/javaldx" ] ; then
  166.     my_path=`"$sd_prog/../basis-link/ure-link/bin/javaldx" $BOOTSTRAPVARS \
  167.         "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"`
  168.     if [ -n "$my_path" ] ; then
  169.         LD_LIBRARY_PATH=$my_path${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
  170.         export LD_LIBRARY_PATH
  171.     fi
  172. fi
  173.  
  174. unset XENVIRONMENT
  175.  
  176. # uncomment line below to disable anti aliasing of fonts
  177. # SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE
  178.  
  179. # uncomment line below if you encounter problems starting soffice on your system
  180. # SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS
  181.  
  182. # pagein
  183. for sd_arg in ${1+"$@"} ; do
  184.     case ${sd_arg} in
  185.     -calc)
  186.         sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-calc"
  187.         break;
  188.         ;;
  189.     -draw)
  190.         sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-draw"
  191.         break;
  192.         ;;
  193.     -impress)
  194.         sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-impress"
  195.         break;
  196.         ;;
  197.     -writer)
  198.         sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-writer"
  199.         break;
  200.         ;;
  201.     *)
  202.         ;;
  203.     esac
  204. done
  205.  
  206. # read database entries for Adabas D
  207. if [ -f /etc/adabasrc ]; then
  208.   . /etc/adabasrc
  209. fi
  210.  
  211. sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-common"
  212. "$sd_prog/../basis-link/program/pagein" -L"$sd_prog/../basis-link/program" \
  213.     ${sd_pagein_args}
  214.  
  215. # Set PATH so that crash_report is found:
  216. PATH=$sd_prog${PATH+:$PATH}
  217. export PATH
  218.  
  219. PYTHONPATH=$sd_prog/../basis-link/program${PYTHONPATH+:$PYTHONPATH}
  220. export PYTHONPATH
  221.  
  222. # test for availability of the fast external splash
  223. for arg in $@; do
  224.     if [ "$arg" = "-nologo" -o "$arg" = "-no-oosplash" ]; then
  225.         no_oosplash=y
  226.     fi
  227. done
  228. if [ "$sd_binary" = "soffice.bin" -a -x "$sd_prog/oosplash.bin" ] && [ "$no_oosplash" != "y" ] ; then
  229.     sd_binary="oosplash.bin"
  230. fi
  231.  
  232. # execute soffice binary
  233. "$sd_prog/$sd_binary" "$@" &
  234. trap 'kill -9 $!' TERM
  235. wait $!
  236.  
  237. while [ $? -eq 79 ]
  238. do
  239.     "$sd_prog/$sd_binary" ""$BOOTSTRAPVARS"" &
  240.     wait $!
  241. done
  242.  
  243. exit
  244.